package cn.jnetty.ioc.method;
import cn.jnetty.api.handler.*;
/**
 * @author 猪哥亮
 * @email 1030681978@qq.com
 * @date 2020/4/9 11:18
 * 描述：
 */
public class BytesRouterHandlerImpl extends AbstractRouterHandler<byte[]> {
    @Override
    public Object invoke(byte[] msg) {
        return new MethodHandler<byte[]>() {

            @Override
            public Object invoke(byte[] buffer) {
                return null;
            }
        };
    }

    @Override
    public RouterHandler instance() {
        return new BytesRouterHandlerImpl();
    }


//    {
//        return (buffer) -> {
//            try {
//                Object[] args = null;
//                Class<?>[] parameterTypes = requestDefinitionBean.getMethod().getParameterTypes();
//                if(buffs == null && buffs.size() == 0){
//                    if(parameterTypes != null || parameterTypes.length != 0){
//                        throw new JnettyIocException("参数解析错误");
//                    }
//                }
//                if(parameterTypes != null && parameterTypes.length > 0){
//                    if(buffs == null || buffs.size() != parameterTypes.length){
//                        throw new JnettyIocException("参数解析错误");
//                    }
//                    args = new Object[parameterTypes.length];
//                    for(int i = 0;i < parameterTypes.length;i++){
//                        args[i] = parameterHandler.decode(buffs.get(i),parameterTypes[i]);
//                    }
//                }
//                return requestDefinitionBean.getMethod().invoke(requestDefinitionBean.getObj(), args);
//            } catch (Exception e) {
//                throw new JnettyIocException("参数解析错误",e);
//            }
//        };
}
